<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="https://www.w3.org/1999/xhtml">
  <head>
    <meta name="generator" content="HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org" />

    <title>RMagick 0.0.0: RVG Reference: RVG::ClipPath Class</title>
    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
    <meta name="GENERATOR" content="Quanta Plus" />
    <meta name="Copyright" content="Copyright (C) 2006 by Timothy P. Hunter" />
    <link rel="stylesheet" type="text/css" href="css/doc.css" />
    <script type="text/javascript" src="scripts/doc.js"></script>
    <script type="text/javascript">
      //<![CDATA[
      //]]>
    </script>
    <style type="text/css">
      /*<![CDATA[*/
        }
      /*]]>*/
    </style>
  </head>

  <body>
    <h6 id="header">RMagick 0.0.0 User's Guide and Reference</h6>

    <div class="nav">&laquo;&nbsp;<a href="rvgpattern.html">Prev</a> | <a href="index.html">Contents</a> | <a href="rvgtext.html">Next</a>&nbsp;&raquo;</div>

    <h1>class RVG::ClipPath <span class="superclass">&lt; Object</span></h1>

    <div id="toc">
      <h2>Table of Contents</h2>

      <h3>class methods</h3>

      <ul>
        <li><a href="#new">new</a></li>
      </ul>

      <h3>attributes</h3>

      <div class="toccol">
        <ul>
          <li><a href="#desc">desc, desc=</a></li>

          <li><a href="#metadata">metadata, metadata=</a></li>

          <li><a href="#title">title, title=</a></li>
        </ul>
      </div>

      <h3>instance methods</h3>

      <div class="toccol">
        <ul>
          <li><a href="#text">text</a></li>

          <li><a href="#use">use</a></li>
        </ul>
      </div>

      <h3>shared methods</h3>

      <p>
        In addition to the methods listed above,
        <code>class RVG::ClipPath</code> also implements the <a href="rvgstyle.html">styles</a> method and the <a href="rvgshape.html">shape methods</a>.
      </p>
    </div>

    <h2 class="methods">class methods</h2>

    <div class="sig">
      <h3 id="new">new</h3>

      <p>
        RVG::ClipPath.new(<span class="arg">clip_path_units</span>) [ <span class="arg">{ |clippath| drawing method calls }</span> ] -&gt;
        <em>clippath</em>
      </p>
    </div>

    <div class="desc">
      <h4>Description</h4>

      <p>
        Creates a <em>clipping path</em>. A clipping path is a combination of path, text, and basic shape objects that define an outline. Attach the clipping
        path to an object such as a raster image or RVG object with the :clip_path style. When RVG draws the object, things "outside" the path are not drawn.
      </p>

      <p>
        The ClipPath.new method yields to a block. Within the block define the clipping path with a combination of path, basic shape, and
        <a href="#text">text</a> objects. You can also use the <a href="#use">use</a> method to refer to a previously-defined object or group of objects.
      </p>

      <h4>Arguments</h4>

      <dl>
        <dt>clip_path_units</dt>

        <dd>
          Defines the coordinate system for the contents of the clipping path. This argument can take either of two values,
          <strong>userSpaceOnUse</strong>, or <strong>objectBoundingBox</strong>. If <code>userSpaceOnUse</code>, the contents of the clipping path represent
          values in the current user coordinate system in place at the time when the clipping path is referenced. if objectBoundingBox, then the user coordinate
          system for the contents of the clipping path is established using the bounding box of the object to which the clipping path is applied. The default is
          <code>userSpaceOnUse</code>.
        </dd>
      </dl>

      <h4>Example</h4>

      <p>
        <a href="javascript:popup('rvg_clippath.rb.html')"
          ><img src="ex/rvg_clippath.gif" title="Click to see the example script" alt="clipping path example"
        /></a>
      </p>

      <h4>See Also</h4>

      <p>The <a href="rvgstyle.html">:clip_rule</a> style.</p>
    </div>

    <h2 class="methods">attributes</h2>

    <div class="sig">
      <h3 id="desc">desc, desc=</h3>

      <p>
        <span class="arg">clippath</span>.desc -&gt; <em>string</em><br />
        <span class="arg">clippath</span>.desc = <span class="arg">string</span>
      </p>
    </div>

    <div class="desc">
      <h4>Description</h4>
      Use the <code>desc</code> attribute to assign a text description to the clipping path.
    </div>

    <div class="sig">
      <h3 id="metadata">metadata, metadata=</h3>

      <p>
        <span class="arg">clippath</span>.metadata -&gt; <em>string</em><br />
        <span class="arg">clippath</span>.metadata =
        <span class="arg">string</span>
      </p>
    </div>

    <div class="desc">
      <h4>Description</h4>
      Use the <code>metadata</code> attribute to assign additional metadata to the clipping path.
    </div>

    <div class="sig">
      <h3 id="title">title, title=</h3>

      <p>
        <span class="arg">clippath</span>.title -&gt; <em>string</em><br />
        <span class="arg">clippath</span>.title =
        <span class="arg">string</span>
      </p>
    </div>

    <div class="desc">
      <h4>Description</h4>
      Use the <code>title</code> attribute to assign a title to the clipping path.
    </div>

    <h2 class="methods">instance methods</h2>

    <div class="sig">
      <h3 id="text">text</h3>

      <p>
        <span class="arg">clippath.</span>text(<span class="arg">x</span>=0, <span class="arg">y</span>=0, <span class="arg">text</span>=nil) [{|<span
          class="arg"
          >text</span
        >| ...}] -&gt; <em>text</em>
      </p>
    </div>

    <div class="desc">
      <h4>Description</h4>

      <p>
        Calls <a href="rvgtext.html#new">RVG::Text.new</a> to construct a text object and adds it to the clipping path. Yields to a block if one is present,
        passing the new text object as an argument.
      </p>

      <h4>Returns</h4>

      <p>The <code>RVG::Text</code> object, so other <code>RVG::Text</code> methods can be chained to this method.</p>
    </div>

    <div class="sig">
      <h3 id="use">use</h3>

      <p>
        <span class="arg">clippath.</span>use(<span class="arg">obj</span>, <span class="arg">x</span>=0, <span class="arg">y</span>=0,
        <span class="arg">width</span>=nil, <span class="arg">height</span>=nil) -&gt; <em>use</em>
      </p>
    </div>

    <div class="desc">
      <h4>Description</h4>

      <p>Calls <a href="rvguse.html#new">RVG::Use.new</a> to constructs a <code>use</code> object and adds it to the clipping path.</p>

      <p>
        When the referenced argument is another RVG object,
        <span class="arg">width</span> and <span class="arg">height</span> can be used to specify the width and height of the viewport. If present and non-nil,
        these arguments override any width and height specified when the RVG object was created. You must specify the viewport size either when creating the RVG
        object or when referencing it with <code>use</code>.
      </p>

      <h4>Examples</h4>

      <p>See <a href="rvguse.html#new">RVG::Use.new</a></p>

      <h4>Returns</h4>

      <p>The <code>RVG::Use</code> object, so other <code>RVG::Use</code> methods can be chained to this method.</p>
    </div>

    <p class="spacer">&nbsp;</p>

    <div class="nav">&laquo;&nbsp;<a href="rvgpattern.html">Prev</a> | <a href="index.html">Contents</a> | <a href="rvgtext.html">Next</a>&nbsp;&raquo;</div>
  </body>
</html>
